使用Git同步Obsidian-iOS(a-Shell方案)
简介
经过查询,目前在 iOS 设备上使用 Git 同步 Obsidian 主要有以下三种方案:
经过稍微尝试,决定使用第二种方案,现将过程记录在此。
a-Shell 注意事项
- a-Shell 的原理相当于创建了一个容器,在容器中跑了一个类 linux 来运行“精简版 git”,所以需要将外部(即 iOS 系统里的目录映射进这个容器中)
- a-Shell 的
.ssh目录并不在~目录下,而是在~/Documents目录下。一般也不需要进入~目录,就在~/Documents和~/Documents/你的仓库目录下操作即可。 - a-Shell 内置的“精简版 git” 叫 lg2,命令和 git 一样,将 git 替换为 lg2 即可,如:
- git clone ➡️ lg2 clone
- git pull ➡️ lg2 pull
- git add ➡️ lg2 add
- git commit ➡️ lg2 commit
- git push ➡️ lg2 push
前期准备
- 网络工具自备
- 已在 AppStore 下载 a-Shell 应用
- 已在 AppStore 下载 obsidian 应用
- 已经将 Obsidian 同步到 Github 的私有仓库
a-Shell 配置 Github 密钥
-
生成 SSH 密钥
ssh-keygen -t ed25519 -C "From iPhone a-Shell" -
查看并复制公钥
cat .ssh/id_ed25519.pub -
将公钥添加到 Github
-
检查密钥是否配置成功
ssh -T git@github.com出现
You’ve successfully authenticated...即成功。
a-Shell 配置目录映射并 clone
-
选择
Obsidian目录并映射pickFolder如果
我的iPhone里没有Obsidian目录,就先在 Obsidian App 里创建一个仓库,再重试。 -
将仓库拉取到本地
lg2 clone git@git.com:用户名/仓库名静静的等待 clone 完成,我约 500MB 仓库大概花了 10 多分钟。
-
clone 完毕后,设置仓库的用户名和密码
lg2 config user.name "用户名" lg2 config user.email "邮箱" -
使用 Obsidian App 打开你的仓库即可。(记得在 Git 插件里勾选“在此设备上禁用”,否则 Obsidian App 会无限重启)
进阶:实现自动 pull & push
TODO